Skip to content

fix: enable upstream connect retry by default#114

Merged
secxena merged 2 commits into
stagingfrom
fix/upstream-retry-default
Jul 4, 2026
Merged

fix: enable upstream connect retry by default#114
secxena merged 2 commits into
stagingfrom
fix/upstream-retry-default

Conversation

@secxena

@secxena secxena commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Tier 2.7 of the network-robustness audit. The single-retry-on-transient-failure logic (already implemented in soth-mitm) was gated behind upstream_retry_on_failure, which defaulted to false — so the knob was effectively dead and a single transient connect failure during a hotspot handoff or gateway blip surfaced straight to the user as a 502.

Flips the default to true in both places:

  • the CLI-generated config (cli_config ForwardProxyConfig)
  • the soth-proxy ProxyConfig fallback

The retry fires only on transient errors (refused / unreachable / reset), never on timeouts, and is bounded by the existing connect deadline — so it absorbs handoff blips without masking a genuinely stuck upstream. Users can still set it false explicitly.

Testing

soth-proxy (102 lib) + soth-cli config tests pass. Platform-agnostic config change.

🤖 Generated with Claude Code

secxena and others added 2 commits July 4, 2026 16:14
Tier 2.7 of the network-robustness audit. The single-retry-on-transient-
failure logic (already implemented in soth-mitm) was gated behind
upstream_retry_on_failure, which defaulted to false — so the knob was
effectively dead and a single transient connect failure during a
hotspot handoff or gateway blip surfaced straight to the user as a 502.

Flip the default to true in both the CLI-generated config
(cli_config ForwardProxyConfig) and the soth-proxy ProxyConfig fallback.
The retry fires only on transient errors (refused / unreachable /
reset), never on timeouts, and is bounded by the existing connect
deadline — so it absorbs handoff blips without masking a genuinely
stuck upstream. Users can still set it false explicitly.

soth-proxy + soth-cli config tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Follow-up from review: since upstream_retry_on_failure is now on by
default, document it (and upstream_retry_delay) in the example config so
users can discover the behavior and disable it if they want. No code
change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@secxena
secxena merged commit 51c4871 into staging Jul 4, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant